﻿using System;
using System.Collections.Generic;
using System.Text;

namespace ThirdParty.Application.Model.ViewModel.Response
{
    public class OrderRespDto
    {
        /// <summary>
        /// 订单Id
        /// </summary>
        public long OrderID { get; set; }

        /// <summary>
        /// 订单编号
        /// </summary>           
        public string OrderNumber { get; set; }

        /// <summary>
        /// 订单总价
        /// Default:
        /// Nullable:True
        /// </summary>           
        public decimal? OrderTotalPrice { get; set; }

        /// <summary>
        /// 支付方式，1 微信支付；2 支付宝支付；
        /// Default:
        /// Nullable:True
        /// </summary>           
        public byte? PaymentMode { get; set; }

        /// <summary>
        /// 支付时间
        /// Default:
        /// Nullable:True
        /// </summary>           
        public DateTime? PaymentDateTime { get; set; }

        /// <summary>
        /// 订单提交人id
        /// Default:
        /// Nullable:True
        /// </summary>           
        public long? OrderCreateUserID { get; set; }

        /// <summary>
        ///订单状态id，1 支付成功；2 待支付；97 已退款；98 支付失败；99 订单关闭；
        /// Default:
        /// Nullable:True
        /// </summary>           
        public byte? OrderStatusTypeID { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>           
        public DateTime? CreatedOn { get; set; }

        /// <summary>
        /// 交易类型，例如微信的JSAPI等
        /// </summary>           
        public string TradeType { get; set; }

        /// <summary>
        /// 预支付交易会话标识
        /// </summary>           
        public string PrePayID { get; set; }

        /// <summary>
        /// 二维码链接
        /// </summary>           
        public string OrderCodeUrl { get; set; }

        /// <summary>
        /// 订单支付的时候在第三方创建的时间
        /// </summary>           
        public DateTime? OrderPayCreateDateTime { get; set; }

        /// <summary>
        /// 订单中采购的商品列表
        /// </summary>
        public List<OrderProductRespDto> OrderProducts { get; set; }
    }
}
